#include <iostream>
#include <string>

#include "Lime.h"
#include "data.h"

using namespace std;

FILE *book_file;//the old book of text moves arranged in lines e2e4 e7e5 etc
FILE *bookfile;//used to write the binary keys when making a book
FILE *wbookfile;//used to read the white book binary keys
vector<string> vbooklines;//stores text lines e2e4 e7e5
vector<s_binentry> hashentries;//the hashentries determined for the book
FILE *hash_file;//hash keys from converted old book
vector<s_binentry> whitebook;

int movestotal;
int readtotal;

s_binentry binenter;
s_bookinfo bookdata;





FILE *log_file;
int logme;

jmp_buf stopped;
int check[48];
int red[48];



char colours[2] = { 'b','w'};
//the global game!!!!
s_Position p[1];

s_EvalOptions eo[1];

s_Move pondermove;
//game history, indexed by histply
s_Hist hist[1024];

s_Move nomove;
s_Move best;



//board of castle bits
int castlebits[144];

const char   piecetochar[15] = ".PpNnBbRrQqKk.";
const char   brdranks[8] = {'1', '2', '3', '4', '5', '6', '7', '8'};
const char   brdfiles[8] = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'};

//TTable is the always replace, RTable is depth only replace
s_Hashelem *TTable;
int numelem;

const int vals[16] = {0,100,100,300,300,300,300,500,500,900,900,10000,10000,0,0,0};

sEvalData eval[1];

//searching info
s_SearchParam searchparam[1];
int stopsearch;
int itdepth;
s_Move pv[48][48];
int pvindex[48];
s_Move killer1[48];
s_Move killer2[48];
int killerscore[48];
int killerscore2[48];
s_Move matekiller[48];
int history[144][144];
int his_table[MOVEBITS];
int hisall[2][144][144];
int hisfh[2][144][144];
int donull;
int nodes;
int qnodes;
int followpv;
int histply;

float fhf;
float fh;
float nulltry;
float nullcut;
float hashprobe;
float hashhit;
float incheckext;
float wasincheck;
float matethrt;
float pawnfifth;
float pawnsix;
float prom;
float pvsh;
float pvs;
float reduct;
float single;
float resethis;




const int ranks[144] = {
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,0,0,0,0,0,0,0,0,-1,-1,
-1,-1,1,1,1,1,1,1,1,1,-1,-1,
-1,-1,2,2,2,2,2,2,2,2,-1,-1,
-1,-1,3,3,3,3,3,3,3,3,-1,-1,
-1,-1,4,4,4,4,4,4,4,4,-1,-1,
-1,-1,5,5,5,5,5,5,5,5,-1,-1,
-1,-1,6,6,6,6,6,6,6,6,-1,-1,
-1,-1,7,7,7,7,7,7,7,7,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
};

const int files[144] = {
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,0,1,2,3,4,5,6,7,-1,-1,
-1,-1,0,1,2,3,4,5,6,7,-1,-1,
-1,-1,0,1,2,3,4,5,6,7,-1,-1,
-1,-1,0,1,2,3,4,5,6,7,-1,-1,
-1,-1,0,1,2,3,4,5,6,7,-1,-1,
-1,-1,0,1,2,3,4,5,6,7,-1,-1,
-1,-1,0,1,2,3,4,5,6,7,-1,-1,
-1,-1,0,1,2,3,4,5,6,7,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
};

unsigned __int64 hash_p[14][144] = {//piece/square
{
0x6D5C8E71D8564C0EULL, 0x2B2F4921F1C754FCULL, 0xC06F0E9E226869A2ULL, 0x5E4C3DB911FF8966ULL, 0xF11AF890AAC4DEB6ULL, 0x4656B646CCE57A1ULL,
0xD43D021B76158551ULL, 0xA06844350B369C5BULL, 0x89EB4AA63B794AC2ULL, 0xA687AB1ADE0B93BEULL, 0xBA046494EC839792ULL, 0x1830671D5F144140ULL,
0xE0A8AF769D633A9BULL, 0x3AD3CC454633B9DULL, 0x4B576AA7EB73AC1CULL, 0x2E0EE6C139EA8C27ULL, 0xED219F0B230F413DULL, 0x117445EE53315F7AULL,
0x94C28684C3037EAAULL, 0xA31C57B27AD16D35ULL, 0xA6B9952C0871719CULL, 0xDD57DE5C19DDD2FDULL, 0xE52E7AE5F73FC3BULL, 0xD11D6BA6876AAAF5ULL,
0x8767767BB8008976ULL, 0xB1C0F55EAEA945AFULL, 0x36602ADF98537472ULL, 0x8B1465130DB9DA6DULL, 0xB3D85E47CD68BF90ULL, 0xF4D8E53C4195688BULL,
0x71CD83FC19E09811ULL, 0x15DCA1C7D3EACE4BULL, 0xEADD8105380086AULL, 0xA123AAD221FD1059ULL, 0xCBD2642B62F72AD6ULL, 0xB0F1EA574F3C29D4ULL,
0x58661899BA206103ULL, 0xF26293AEE622563CULL, 0x852B315FA3502268ULL, 0xF42D17342DCA9696ULL, 0x12D729EE07657833ULL, 0x35000BA0B19BB226ULL,
0xC66839125457E774ULL, 0xEA08368C5525E408ULL, 0xC8553D3EFB08EAE0ULL, 0x4BA821045B05B77CULL, 0x26DF5C72DB06924BULL, 0xD910A9FCDA2D0030ULL,
0xC8EC3B0806E25DE2ULL, 0x45553696E3BB5076ULL, 0x3A51CD7A36E97B18ULL, 0x522E93DFD53AE31CULL, 0xD45E298E9F3DCB82ULL, 0xD27A884829514DDDULL,
0x9218457999A96BDBULL, 0x92636D5193E44E17ULL, 0x49387E4AB38BC93BULL, 0xB2FA6AB1E5E0CEF5ULL, 0xCBD78F880C98C62FULL, 0x710BFAFCD3873030ULL,
0x723B2FA9996D6DEDULL, 0x7735A6DD773CEC1BULL, 0x476F1CAABD2CD4CBULL, 0xACE56582C8FFB708ULL, 0xE7568EF29A4B3B28ULL, 0xE895272EF8FB7097ULL,
0xBF484C9735B34E53ULL, 0x42B0E1D8993E786CULL, 0xB08C1B05099E77AEULL, 0x21BFA798669E3103ULL, 0x1F9DC0351EBD1429ULL, 0x30DF02603B2F77AFULL,
0x254EB2E24A830D1AULL, 0x95C56B07D2807DB4ULL, 0x12C7D4FA5D662E0AULL, 0xD283F8A9376ED66BULL, 0xB9102B42A2F429E8ULL, 0xED0508485030CBD8ULL,
0x7E1D9020692000A3ULL, 0xA7A667C9BC687AE9ULL, 0xE3DF21CFD9FA4FABULL, 0x89DCCFF7133B832DULL, 0x483E990D0451A3CEULL, 0xF9D85A1CACA3647BULL,
0x9532EB1EF60015DULL, 0x5384C3A95E550AE0ULL, 0xF9176BBEE974F534ULL, 0x5D72C7249D4A272EULL, 0x4F246DF575D4A41FULL, 0x1EF41D2C8BA431EDULL,
0xEA6F9F1C2D3A9617ULL, 0x22AEB300F5C851CEULL, 0x5505AD86DE8DB308ULL, 0xE5C13E1A15669BE2ULL, 0x7FE8FB73C2B92839ULL, 0x9D8387BFEF6A7C90ULL,
0x954833DD1947FFC8ULL, 0xB2C0C4FA9958BB89ULL, 0x782530266C2A854ULL, 0x872351CDFFB25218ULL, 0x835ED1793B52EFAULL, 0xD3BF99674DC16C9AULL,
0x5709560F2F74C5A8ULL, 0xD8C20CB22C741386ULL, 0x3EFE6A5F3A17B23CULL, 0x94DC9C41BEA652AEULL, 0xF00B97984EBB6811ULL, 0xC3BC9A1CFAA7E8DULL,
0xDD17AC6C6CE752FULL, 0x5473921B2067F8FULL, 0xAE75602ADB31FAC7ULL, 0x993FB806C2BD4067ULL, 0x1D31128F280D4C6FULL, 0xCBD6BC25E7AD2B46ULL,
0x9E2B74DB0C9EED1FULL, 0x11F98377AA1651ABULL, 0x11BC44434BD722E8ULL, 0x22D1614DB119E711ULL, 0xC9F4C812903379CBULL, 0x17A76CF917DE93C6ULL,
0x3CE4F812D348838FULL, 0x3E5FB5A9436C0BBCULL, 0x1AD5A0EA3A1D4EEEULL, 0xDBBD01A84CE92770ULL, 0xB2BD385F4E875736ULL, 0xBBD6864E1081290BULL,
0xA6892CD768A47875ULL, 0x842A4ED65F193154ULL, 0x538E2C28F012CC3AULL, 0xA96A2A29937AB976ULL, 0x1E18C5833CB5EEF5ULL, 0x25D75CAE7D83A86BULL,
0x50F4C0B42A755C8ULL, 0xF6DBD2BA2B84D545ULL, 0xF86A5BCA389305CAULL, 0x1FB55278DBB1492BULL, 0x77A82EEAD68CE11CULL, 0xA81D192D1D60517FULL,
0x4A4999F673ACD677ULL, 0xC129503D79B8C5C1ULL, 0x8EE0D305CF26F9E1ULL, 0x6D83D0D33AD00613ULL, 0x4466D46B4D6D0972ULL, 0xC0F4D8EC61BC45D0ULL,

},
{
0xE5FBFDBE3B32E5F3ULL, 0xBA7B4EE33685213FULL, 0x6826051C5AF24967ULL, 0xF035779A39AAC846ULL, 0x4163B19DABAAC0DAULL, 0x887D62DCCEC111C1ULL,
0xF46AD0B77FB4B1A5ULL, 0x448B1A5B04C21CEBULL, 0x40058BAB95519F9CULL, 0xED7BF588D68E0A0BULL, 0x118E9CE7010747EDULL, 0x4CA580EEA58266DBULL,
0x977204AAE06DF822ULL, 0x340B69A964E1B851ULL, 0xA2C93DDF3A5C40BAULL, 0xCC61FE471BD7238EULL, 0x806F7AE8622F4F91ULL, 0xA69B9FDC3DEE882AULL,
0xCBC3B4B0C069EAE7ULL, 0x3BBE6201ECE4B3BAULL, 0x99D094B735ED23F8ULL, 0x1CCA5597E97E2445ULL, 0x840937DE27032279ULL, 0xD67CBA20F45D9913ULL,
0xEBB8E69942AD8EB0ULL, 0x7F8BDD84B7B76567ULL, 0x471185DB190D1E6AULL, 0xA70B8C499B358211ULL, 0xEAD4182557DECC25ULL, 0x8284D6A018734E03ULL,
0xF9649CE697CA7D71ULL, 0x3280DF7363FAC25EULL, 0x1C769E79E9702614ULL, 0x4C1F6920AABF53B3ULL, 0x657BAF712E206B0EULL, 0x6BB6A4F1DCB407E5ULL,
0x4FBCD94FD4F2E30AULL, 0xB19FB4A1FDA7A0B2ULL, 0x1784E986BA98E4F5ULL, 0x66EF4781E6DD03CCULL, 0x4B90F802DDB9B2A7ULL, 0x4E7692B351FB297EULL,
0x1B060DE721E4F028ULL, 0x980515EDE8864060ULL, 0x4860D48BDF9AB7CAULL, 0x27BC9AAF4C89C110ULL, 0x2B2A99DDEE285EULL, 0x4899B5888D2D5191ULL,
0x8D01F118328C5758ULL, 0xDEF37220742F3580ULL, 0xAD11EDBBF9386EFULL, 0xE79BDC13D2F62763ULL, 0x218784924C7EB549ULL, 0xD56F42B02F561D1EULL,
0xCCEB7EC09D63D230ULL, 0xEAFA30808644DE6AULL, 0x2326553D152B6929ULL, 0x81362306E925F244ULL, 0x67AB5BE622BBB768ULL, 0x2C6F39A92A4D1605ULL,
0x933F3BBCA5F4E069ULL, 0x9B3119399530D181ULL, 0x36E5EA8A0ED336FDULL, 0x851A47BEFCD2CE6EULL, 0xFD3B47EBF08C2DFCULL, 0x7D6B1487030A5BD9ULL,
0xB1E335FBA751F6AFULL, 0x6952F0DCEBED954BULL, 0x8E720FA0B1E85ECULL, 0x4AF7024420F92427ULL, 0xCD2B49212B3B3A34ULL, 0x58B45AB5EBBD116CULL,
0x15543196D207EDCFULL, 0x82D7DDF3DFD08B35ULL, 0x5DE8CB468E7247FFULL, 0xBD4E87710C6EA650ULL, 0x86555F01983A76BAULL, 0xCDF514914D13672CULL,
0xD12117546E094B07ULL, 0x308133E8CAE8B344ULL, 0x1FAA5FD0BFB1695FULL, 0xD22CD3461B2E4324ULL, 0xA34D422F4129AE8FULL, 0x4206D7C2F378747ULL,
0xE55D4841834CD36EULL, 0x83EF9EB63C0918AEULL, 0x8B65CA3B693698A5ULL, 0x9B3FCBE75ABB475FULL, 0xC2ABF2BE728A3EBFULL, 0xDAF8032DCB93D83CULL,
0x6203AAB7420A9E7CULL, 0x15AB91B1C5F38BA3ULL, 0xBBDF1EDDCD62B65FULL, 0x54FD40B7F1F13EABULL, 0xD6F9D342A8F1472AULL, 0x5F294239D8BC83CBULL,
0xD405EA7BD6BCEC1DULL, 0x2D30532A543280DEULL, 0x212836A57A9C61C1ULL, 0xE1400CE0562D47D7ULL, 0xB48C51C79A3B756ULL, 0xAFCCE218A71189C8ULL,
0xBBD88A9A2B0BA9D9ULL, 0x6FEA887C456D67D2ULL, 0x613D1F856EEE3BBAULL, 0xFACAD46BCB649B4DULL, 0x66246ECAAB7D0AA9ULL, 0x70B016FE87500E61ULL,
0x28248FD166106F54ULL, 0x5376FB8FDB853630ULL, 0x50665CD98491D9FCULL, 0xE4FDFED7CDC0A53EULL, 0x3F3CFA121A15143DULL, 0x4F88A8E6A72FB3D1ULL,
0x68ABA1F4E3238B99ULL, 0xB54033AA99BC1082ULL, 0x24C56EE7AA0D8A40ULL, 0xDF0EF68921B6CFDBULL, 0x1549B47888348ED6ULL, 0x7634736898EF5371ULL,
0x7C79339B6419152ULL, 0xC0D1C0033A83B39CULL, 0xB335FF179B7958D6ULL, 0x36EA465A4EED3F06ULL, 0xAE0E3BD125C31147ULL, 0x8EAABBA66EE84636ULL,
0xD9C617A9902C5D22ULL, 0x8EFE25FF3FBD8AFFULL, 0xE6DAA3895BD3B5DCULL, 0x6B65832316A3196AULL, 0x5BAE4CB5D7FE7CC1ULL, 0x7D2E49329A60835EULL,
0x4186BC2604F2CA9BULL, 0xEDDE0997362A20BEULL, 0x777D5FFD21C0730FULL, 0x4106A888988DFEF0ULL, 0x6E64551743EE08FCULL, 0xB3D901A3F64C70EAULL,
0x66FF1713C9A6CF8EULL, 0x2E8D125637C503AEULL, 0xDB3345EF681BA46EULL, 0x958E36340D57BE75ULL, 0x5FA2DBF570B79B5FULL, 0x38C0F944609311FBULL,

},
{
0x380FFF8AECB5A892ULL, 0x85B10671FDA33CE9ULL, 0x6EF4CA63DE302802ULL, 0xBDC619381117DD29ULL, 0x1208FCA796ED0F14ULL, 0xD8EAD81CB110C6C1ULL,
0xAE0CA19464FBF26EULL, 0x22FB981DCC0633AAULL, 0xDBC03EF376150FEFULL, 0x33285440308F1A16ULL, 0x9B7AA10B6C4289D8ULL, 0x8B04FEF4E86B6BEDULL,
0x298E1C765CE72A38ULL, 0x1727AA3F5D09CCCULL, 0xC5800CE5A366C480ULL, 0xC3C91E0C34091AA7ULL, 0x6BCB3372CDEFFDD8ULL, 0xE8B4F1B121B9BD1ULL,
0x95F383DFE217182DULL, 0x2C9570233A2B1CA4ULL, 0xBA863A657531AEA1ULL, 0x88C74C5DD0567908ULL, 0x40C8D23EBD6C3D38ULL, 0xEAC43B3C33B3974CULL,
0xC219096A29120C46ULL, 0xE31472388BBAE118ULL, 0x119CC1D13752130AULL, 0x2EFBB4366D7CDBF1ULL, 0xBCB0CB2911CD6BF6ULL, 0xB25BE7809624E470ULL,
0xC6E901C479D9EB1DULL, 0x807CBE199820951CULL, 0x6CED5C3586958AC0ULL, 0x9C7A095AF6364562ULL, 0xDB13DDC2F1E0B624ULL, 0xABB95BF7EA923D89ULL,
0x860A20D8A3D775AAULL, 0x4C7F2AAD6F9A999CULL, 0xB4375146519DF7F6ULL, 0x61B1401BC15C7D94ULL, 0x9153CDD19FE5D231ULL, 0xE34ADB0A33A804F3ULL,
0xD7CB8640635EA76BULL, 0xE617A98D17EE2706ULL, 0xF06281BB84D8C899ULL, 0xD0C05BBEF61FE8C7ULL, 0x58FC91B1D62960ULL, 0xCA8D446772F991ULL,
0x16645B27CC1229DBULL, 0x42BF0713B4C31769ULL, 0x5D6223CC65C5578ULL, 0x6C90D28ADC02BDADULL, 0x575008BD3A360E7CULL, 0x8A962BD8F8F0C12DULL,
0xED196AC60215C090ULL, 0x4C6A75AE97F2B94AULL, 0x568CB98EE6EDE417ULL, 0xDC06E363402039FAULL, 0x572996224DE0FD1EULL, 0x235BDBC3B0156C3BULL,
0x81FF1CCD11758A9DULL, 0xDB4DD6D601404879ULL, 0x62626088A1B4C53AULL, 0xB218CCEA96D3F46CULL, 0xA0BE5405250EB289ULL, 0x734CA35ECB941C92ULL,
0x793F068D20E88292ULL, 0xF31FF4BC08CF06C0ULL, 0x156018AF097283D2ULL, 0x47A2DE2ADF01DEE5ULL, 0x726F12297552F763ULL, 0x966B120B176F1CA7ULL,
0xE0ACA19D12BF8141ULL, 0x7816F8C0075C9E6AULL, 0x6FFAA82EFE70C3EFULL, 0xBF05F9FC4FAD6EA4ULL, 0x77C8FAE2A0CD9C43ULL, 0xDC5F2E6F425DF870ULL,
0x776D54DA62F5034BULL, 0x7F83C68F91768ED6ULL, 0x7CC84146FE41FABFULL, 0x3ABE772E97F7A697ULL, 0x15E6C04C425FA005ULL, 0x1140086241F88EBAULL,
0xE36D9698D8636423ULL, 0x3BB0E0A2037B48B9ULL, 0xDC918A275C0A7DD5ULL, 0xB63445601F1384BDULL, 0xDF70AC13E524B9E9ULL, 0xF020E6563A6ADCB0ULL,
0x23C2AD2497B4F060ULL, 0x64D6A3D88032A1C5ULL, 0xFB062A6D2A651E0BULL, 0xA51138AB321B5EF4ULL, 0xE57B1C63F48DC28DULL, 0x7B7373AB63E728B9ULL,
0x39B9A92884B9EE9ULL, 0x9F75160EA5596B8CULL, 0x3B2910C2968E7A1DULL, 0x8705E99227671084ULL, 0xB99912B2DF234D3CULL, 0x9B7F99F37054EB08ULL,
0x969F2EFC9608ED3BULL, 0x6EF595F9771C9F79ULL, 0x3E821D7501757B1DULL, 0x6DD05896160E9B45ULL, 0x29AFD4CF4FAEF97ULL, 0x9BDBB8E6A5FDA8E1ULL,
0xF53DDCAA3D7F2D0EULL, 0x186F2EF7894CA74DULL, 0x91C76928E1C91A5ULL, 0xE2E04DEF1DB02C26ULL, 0x3F378C8AF79CC39BULL, 0x24841CF986691DAULL,
0xD09E9D7455BBF22FULL, 0x23F7C56B28AAC31EULL, 0xE13EED548EF11B89ULL, 0x186A9CEB88737D74ULL, 0x5A4160FDC5E61AF0ULL, 0x97EA69135B5E430EULL,
0x95CE76AFFBE1CAFEULL, 0xAAED313F6A76D626ULL, 0xA5E51AE110AF10AAULL, 0x6EF146739A89C733ULL, 0x23C73AF21D496DA3ULL, 0xC07E73D42D33EDFFULL,
0x3DE5BD4B187E9468ULL, 0xA68480946B5F6DA2ULL, 0xDB7CDDD37DC830B7ULL, 0x15994D80EF18A30BULL, 0xF8DAD5C3B2D259D3ULL, 0x80DC22712E2A70BULL,
0xD5DD1291B8B8D510ULL, 0xD5F14F55D9CBCAADULL, 0xCC376188DEAB272ULL, 0x8BBF32DFB4303521ULL, 0xF1739409FF269865ULL, 0x524C0F250D173208ULL,
0xCE749BCA1CD0EE0DULL, 0x99F544D58D53CFF4ULL, 0xCA249119CFA564DDULL, 0xCC9763E0A7BE5C54ULL, 0xCB046C33989E0B5ULL, 0x487FB4BE34F32E17ULL,

},
{
0xA748F25742BC5E36ULL, 0x7D5A0D78F3FA9D1FULL, 0xF90CD81BEE6A2AF4ULL, 0xBF9D08E425E6814EULL, 0x915E0980FB9C1763ULL, 0x4C88EA5AC5CC1A9AULL,
0x41906915EEC540EDULL, 0xE2F5D8473685A806ULL, 0x72618A96ABD04E7AULL, 0xD0E48A6736E17136ULL, 0x192CA22637C2C54CULL, 0xDC0E51165441854FULL,
0x712B1C1B3C90A7CULL, 0xE62F1DA4B8F3D577ULL, 0xE6622C403A278E8DULL, 0x862BCFA0D78C90E4ULL, 0x1EC5653B7E8443C2ULL, 0x2D83E9FE0E63C194ULL,
0xB4C377A10EF94CB0ULL, 0xD4D3FE33A724AAD7ULL, 0x8EADE884110A5BAULL, 0xC201B7BEE600CF99ULL, 0xF5054DADF8F25769ULL, 0x57C65CB68564A2B9ULL,
0xA363F09296DACE7CULL, 0x57CF3A8AC600F767ULL, 0x376AAB5BF8FCDF1FULL, 0xC94471B5E986ED62ULL, 0xB91C6C708282965DULL, 0x4761FC9E475112F0ULL,
0x951A39EB13961D1CULL, 0x6BC708F5733AC18BULL, 0x1791D09EA3F5CF33ULL, 0x626A785F8EA2F52ULL, 0x7DBBBB3BEE5F1C39ULL, 0x473C81EC38DC8E87ULL,
0x56FA534AA4E25BD6ULL, 0x498FBE64BB15C0C4ULL, 0x2BC05061F16AB5BEULL, 0x66361ED5EAA685A2ULL, 0xB299299C04C2F11CULL, 0x3424239DA37AB701ULL,
0xAA945F75642AF038ULL, 0x716CC767DFCD18CBULL, 0x6EEC704919462537ULL, 0x2CDC7DF5D06EB82CULL, 0x3175B4F8542E066CULL, 0x9DCDC9DF9FD63D0FULL,
0x44DDE10C98BF07F3ULL, 0x8F470D9F64AA7DD8ULL, 0xF1DD5D0CD2F3DF38ULL, 0xB6E79CF4ABB0DA91ULL, 0xADE156CAF5BDBF54ULL, 0xF599F724E90D1DD6ULL,
0xC67C4F25CAA4E1CEULL, 0x9B93FE9AAA018231ULL, 0xF2B0485FCEF0CF82ULL, 0xF44AC6F363C6497ULL, 0x44CA551876CB48ABULL, 0xFC971022C416D981ULL,
0xC5AF573420C24F3EULL, 0x79B0D1C122A753F6ULL, 0xAE4F6EE857B8A79CULL, 0x6ABC3C6987F84830ULL, 0x6151755E5036A524ULL, 0x3698E366124407BFULL,
0x62083958DDD13318ULL, 0x7984E5C33DAA03EULL, 0x78EA08923DFBDE8DULL, 0x5557E9919AFD5EABULL, 0xF9D0F71B7CFDCF0DULL, 0x8E318C35C92BC43DULL,
0xD8A75AE476215402ULL, 0x6876D96F192E7620ULL, 0x7646D2943C88E37AULL, 0xD388D64BB400DF1AULL, 0xFDBF7E247903B62CULL, 0x86216EFA1339EA1FULL,
0xECE96E96BBD50E86ULL, 0xBD30896F32202BA7ULL, 0x91431883F034ED76ULL, 0xF801D00CDB7B159FULL, 0xD31264DBDD8BC3E6ULL, 0xF5A8F42B31DF565DULL,
0xA576EF9667D7C390ULL, 0x612BBA58D3287E88ULL, 0x7A00CC51E3DC7833ULL, 0xE9719C50D1F82248ULL, 0x3CD7655C5F0AD3BULL, 0x281D16932AD59568ULL,
0x78B8AC1CFC51A49DULL, 0x8B0180EA9AE141C8ULL, 0xF47E94CBFB13356ULL, 0xA874AC8993989310ULL, 0xE3BF23AA2B0A4B45ULL, 0x1C10E1FF4EB87E74ULL,
0x7011E61DC5143753ULL, 0x47BD28BAF1BFB47DULL, 0xFC391A3A93DC3080ULL, 0x9BD79C5D994082A6ULL, 0x40F5B54908CE28E1ULL, 0x21F309FB5640E6F8ULL,
0x8B8570DD3F8B9A2FULL, 0xD3EAF55AE957BAA9ULL, 0xD6460B0004B833B8ULL, 0xD556564F096DF739ULL, 0x3426B1CEBFDCCA32ULL, 0x8B5EF55FAD18AB53ULL,
0xDFFC3F11372E544CULL, 0x1EF9DC81A74B93FAULL, 0xDB39CDC7862D1A93ULL, 0xE657B896F9589FB3ULL, 0x37C60221F1F8119FULL, 0x13B4E6AAE22BC29DULL,
0x79662A3F6C4BD791ULL, 0xD5C45C3F44BCB2ABULL, 0x782A2C2761CBF5B5ULL, 0x69ECD3AE2927E9E0ULL, 0x80B3FAA34B601D99ULL, 0x201CD5556E7B049BULL,
0x21DD7372D3A134E8ULL, 0xDED77932CA097772ULL, 0x9A5AF1626E789398ULL, 0x43EAD05AE7C98FF8ULL, 0xDD63B3B276BA478EULL, 0xEE042E175483328ULL,
0x752F5BC1710B102EULL, 0xB8E2BB3E921B1772ULL, 0x56C8A5F6EBD0B5F2ULL, 0x66B65829A008D4A0ULL, 0x86E8252B0AA5D1DEULL, 0xE4ECA1ADE4528020ULL,
0xC742A4FF1F96EFCBULL, 0x11C2134606EC1C20ULL, 0x475E6C4508771ED7ULL, 0x611E61B048864D63ULL, 0xDD5B2E16A3B6A861ULL, 0x6B8285C4A1E1585DULL,
0x3D689C317D8ED6AEULL, 0x98FFE2EE526D7471ULL, 0x7ABA3F2FD83B45CFULL, 0xE607359032470BFAULL, 0xEF491ACB40DF060AULL, 0xD16108109861C3D1ULL,

},
{
0xB57B0F0F81CAE7ADULL, 0xBE43B4025CD08A6AULL, 0xE653615EDE66192CULL, 0x10B38E5A6178A0A2ULL, 0x55FE46433A5506F9ULL, 0x11C1A7898A50431ULL,
0xD3FE12C56BE77097ULL, 0x81E748F072CDF3B4ULL, 0x5DBCD256424572FDULL, 0x3A050F6BFA0ED65FULL, 0x88EABB09ECA8D78BULL, 0x4A1BAE3A0EA4119AULL,
0x1180C1418433DB40ULL, 0x15C0A49B6A9D0D8DULL, 0x117EB20F254AE6FDULL, 0x68E9BBED69B37147ULL, 0x1F95EC08CFA1EBE7ULL, 0x71698915888EA907ULL,
0xE620EA2E1AB12C11ULL, 0x5A8815F65A1373E7ULL, 0x1EC3FE4929621237ULL, 0x91B14281D0970AD9ULL, 0xE0022502755B24E7ULL, 0x593C35BC76EBDB84ULL,
0xABB55D608C9F9CBULL, 0x2470602DBD8F46FFULL, 0x139B969F47379517ULL, 0xBD93268356ED04C3ULL, 0x74DED4B95D1946D2ULL, 0xAB12630BD6D63321ULL,
0xB301CA669492FF51ULL, 0x9244775BEC6A8FE9ULL, 0xA0F20BFBF74217D3ULL, 0xE0B522F0BEF68154ULL, 0xA98FE22EA13585D7ULL, 0xE01B1B5A0BCDD82AULL,
0x77AF320E11DE6B72ULL, 0x242E991F9B9EBA84ULL, 0x1171428A0C5B8064ULL, 0xB6D897301918EEA0ULL, 0x4ED82C15F55DEDBBULL, 0xABD166E866097B97ULL,
0xA7050D563AF0E484ULL, 0x87F2D1008A2B03A4ULL, 0xB711412A14784981ULL, 0x813B44D3E475CD19ULL, 0x7CED86A629FDD1C2ULL, 0x7F7254DDBFD69FAFULL,
0xEF9C18153B124590ULL, 0x63A7F6F40457E7D4ULL, 0x1DFD39A2FD79BBDFULL, 0x3D8C65F52BF4DCE9ULL, 0xAF5629D3097A6B14ULL, 0xD6D953206DD88D4BULL,
0xF85B6606757EF1CEULL, 0x37155B0D90B0C1B3ULL, 0xC2A5DC9F74C7BD1FULL, 0x9587C3A96D200CA4ULL, 0x6727D5A03C521A05ULL, 0x829200E65279F281ULL,
0x7EE28A17FB5FB9EDULL, 0xA6C0137D069665DDULL, 0xBE6386AA07EB1695ULL, 0x4D4CD28496858B66ULL, 0x16F0CEDF5831F51BULL, 0xD372794A7728528AULL,
0x63BBF96F321EFDD6ULL, 0xC67A60FBE9C20955ULL, 0x2DEB221A714325F6ULL, 0x1BFF18A91982DC97ULL, 0xE7B874F69E713D20ULL, 0xE0588A18AD4FAEF9ULL,
0xFFF267D77897EC12ULL, 0xDD3FCB96603D477AULL, 0x970CE3441557E18ULL, 0x8B704EE1D903293AULL, 0xFF63C6256382B696ULL, 0x82D16E2073CF0994ULL,
0xDF9E7E63A269EDFFULL, 0x11FA08C4794C9A0CULL, 0xFCCF56B491ACD7D9ULL, 0xEC36F2911BDD659AULL, 0x9073674EA0BC46A2ULL, 0x6E744C158FF87008ULL,
0x567CFB35F74385DCULL, 0xB88154B900850A04ULL, 0x37EEE7321D1A897ULL, 0x5FC268B535A93439ULL, 0xEC351929F0B1FFF8ULL, 0x8BE61707C1B8F78AULL,
0x7950A649FCB6A957ULL, 0x7F1D11C7BF8DAB2CULL, 0x4F18BA8789F9F5BFULL, 0xF36A1702D83DCC75ULL, 0xFB63E96A11EE4FE3ULL, 0x8378DF1AF12E5B9AULL,
0xFE1A5DD44570E678ULL, 0x74B22C4603A99D46ULL, 0x6D1103F2118656F2ULL, 0x36953E602FAFEDBBULL, 0x3178CC58334D44F9ULL, 0xD52F61CCE061BCBEULL,
0xBA04E39D96E8A7FBULL, 0x879D69F9742D52A3ULL, 0xD43EA292EA6CEAA5ULL, 0x830A33FC320D1A19ULL, 0x8D4D5F16F26CA926ULL, 0x3699D6A8E43B98CDULL,
0x967B698EEFC34CCFULL, 0x248C2173BF88B022ULL, 0xD5E857440B9E440ULL, 0xAEED4465EAB20792ULL, 0x9BCA8DD68B99B348ULL, 0x383B5F1B820F2538ULL,
0x6801F659C9A3EDCCULL, 0xA141A5AA31F6A2A8ULL, 0x8E28A3F6BB527595ULL, 0x20A9056FD8DE9AD5ULL, 0x2B5094EFA7FD2DF2ULL, 0x417F61A1030B09ULL,
0x6B0CB210D1A64580ULL, 0x7D0D65A9FAB5A1D9ULL, 0x28ED2A08E7E9E8F9ULL, 0xAAB5EED6C719039FULL, 0x4966DFE380F2429ULL, 0x1EA30B557319288AULL,
0xF3BE7BF6BA99596FULL, 0xF9D190C8D69A9FDCULL, 0x7EA03F52469F1BCULL, 0x7E6F0A53F812D39CULL, 0xDCDB5B64EF22658FULL, 0x3E2D21E039A7747DULL,
0xD592BAB1E99B410DULL, 0xD04783345D78C18DULL, 0xA10461BF008C29A5ULL, 0x92AEB4ECF74315ULL, 0x6135968B75156B58ULL, 0xE78721B7C6024691ULL,
0xAE2B86DAB9DB1145ULL, 0x60FA8D71EB7F73A2ULL, 0xA1C7C8B8782846D5ULL, 0x3E46E95D98FF6DC7ULL, 0x92482082385D79ECULL, 0xFB5293A5874B9B9AULL,

},
{
0xD984C2DE19966C24ULL, 0x488FCC4D9E34F986ULL, 0xAEB58BAE2DBEEE95ULL, 0x5BAE0C8AE3B44961ULL, 0xFCA73B8BC443B620ULL, 0x15802020CCAE1C1EULL,
0x40140BFB5F5BBE18ULL, 0xCFB4697453FC66AFULL, 0x159CC0B731772B28ULL, 0x8800428901221751ULL, 0xCCF5A0A23EEEAAB5ULL, 0xBD23850DEC9AF5C2ULL,
0x2444067F5B9FA606ULL, 0x7019D687667752AEULL, 0x59B2873E8568C1DFULL, 0x7A7ECFCDED7496E3ULL, 0x966011BAC8BCCC3CULL, 0x255385A1244E9E43ULL,
0xE7C3BF3131757B14ULL, 0xA3E3C5207D64C105ULL, 0x29B66876147ED6ABULL, 0x90DF843EC67F48AEULL, 0xEE7E653745F179B3ULL, 0xC8795D769EE4532BULL,
0xAF893136A4E6AA2FULL, 0x775A25B02E1F809DULL, 0x42A434F95B8ED623ULL, 0x91BB8F108B6FAD99ULL, 0x3FAF6F382A77DF2AULL, 0x51BDBFC42924DF1EULL,
0xE92A55DE43F6E6CDULL, 0xE29DC7CCAEAD9D57ULL, 0xCB6A36723451866CULL, 0xED01DF09E0C84D6EULL, 0x2DC87472DE67B90CULL, 0x847D93B01014498FULL,
0xA0836BB6032B3F31ULL, 0xE9C65178B76E7A57ULL, 0xA9F9D2DA7E8F2B29ULL, 0x63A2241574BAC1F3ULL, 0xBD71231147CBA27AULL, 0xD15084B13425FC2AULL,
0x99B0325C2822A7DBULL, 0x15C25E0AE25C636FULL, 0xEC1FA77C4F15F1E7ULL, 0xDB89611FF5F9215ULL, 0x86EB1B6FBF66E167ULL, 0x1E6D2B0CC0D58514ULL,
0x61510D1D771C2FC8ULL, 0xD015CAE9D365DB17ULL, 0x3E7D11F433BD9D81ULL, 0xE26985FFE52FA38BULL, 0xB670052FA8B7DA86ULL, 0x60CE561E34C531C4ULL,
0x3FB93217A47C0ECDULL, 0x40BB05E933CA5463ULL, 0xC46A139E1478285DULL, 0xCC3BF9EECC22B37ULL, 0xAF6F1258919FA401ULL, 0x9ECA8C0E4880B447ULL,
0xBF26B9449121DD8BULL, 0xFA2D6D04CBCEB2BAULL, 0x624827E86AF566C9ULL, 0x429CD598C16329F7ULL, 0xE0A1D7EF8355ED5BULL, 0xCE5C4E6974EBE4C9ULL,
0x760C07F7A9333BB8ULL, 0x174943E216968123ULL, 0x9073EBF5B59B1542ULL, 0x2FF8533CA5C93C66ULL, 0x881CCF173855518DULL, 0x5AE376AAD00E2DC2ULL,
0x5095A6C3D1F5FAC4ULL, 0xBA0BBA9ACA9C6947ULL, 0x8409B0B72EC8B16AULL, 0xCA67B434DA444DC4ULL, 0x3459A03FA9B0D18AULL, 0xAD985C2F12B48E29ULL,
0xD6FB15E49251EEFULL, 0xCD19A1D73672AD06ULL, 0xADB6AC9CFE8FBF6BULL, 0xF22DA47046E04540ULL, 0x17705ABEEAA39DFEULL, 0xE88F6ADA2084B7DEULL,
0x828C4849051D7762ULL, 0x9D6A51E073C342F1ULL, 0x50EA0AC27819E4E9ULL, 0x13D63839B7AA45D4ULL, 0xD9C1D7E058072E10ULL, 0x24FFB72815E31C8FULL,
0x5ED8282058A7279EULL, 0x9F550B8C132807ADULL, 0xFF5F8FA4E80AE452ULL, 0x8470AA4F288AAEC7ULL, 0xFD92249EDB2274E0ULL, 0x39FE2981E0C10D46ULL,
0x65E3AAF4DA81706CULL, 0xB2525352E6F5E839ULL, 0x108C4BE0DEBB5B72ULL, 0xBF66BFCCE65350EAULL, 0x6B9F5CDFBAF42EA6ULL, 0xCFB27F99D4C77932ULL,
0x612DCFD9FE302631ULL, 0x51AE6DA6E84BF945ULL, 0xFC6DD7A9DE36BA52ULL, 0xB7DAB43E63E64EB9ULL, 0x69C66267A2792428ULL, 0x193FD4CB5AD71D09ULL,
0xBC0C110BDC8B77E4ULL, 0xA326815C54D388D5ULL, 0x12E74D04ED40DAD3ULL, 0x1ED99F9C4CC785F2ULL, 0xFB49E383F9633863ULL, 0x7F2E3F2DA9B48B4BULL,
0x5BCE6AAC66F3660ULL, 0xDC7E78B32895CAFULL, 0x24104E230C817F0BULL, 0xE4BABB9025EBF13AULL, 0x773FFBFCDED47D48ULL, 0x8F944EBD2032CABEULL,
0x7E94B0E08A7D91ECULL, 0x115A63C641850A2BULL, 0xE5CC29FD76E65D2DULL, 0x49DF6A95233DC1A3ULL, 0x44E0409633ACB2E4ULL, 0x981D1C1E3793A694ULL,
0x79D335336964D808ULL, 0x5E49A1DFBA3FA4D5ULL, 0xA7D620F2049E7031ULL, 0xF02DE6CDE02F96C3ULL, 0x9ED42F4DD474B22CULL, 0x486835497BD97089ULL,
0x3486C222766FA555ULL, 0x706B1752B808D1DDULL, 0x6F9DECF920424C9ULL, 0xE04D9DD9E1BCC066ULL, 0x9C2F01742A55F057ULL, 0x341EA15EB864E237ULL,
0x851944D1F8EB637BULL, 0xDC76DE08BB7E3A2ULL, 0xDCB850CD1D5A9D82ULL, 0x71642A8F87BA78F3ULL, 0x8C4A540C0552459FULL, 0x911DCA9BEF585DC9ULL,

},
{
0xAE2E5DBBDD056EA9ULL, 0x5F12AA89FAC22CE2ULL, 0x1406CBFA9C7C8B06ULL, 0x74D366A44CA996DFULL, 0xC3F7DC32809EC41ULL, 0xBCFE690826631C82ULL,
0x9BA77EABDC99A31ULL, 0xF4495B2D2C236FC7ULL, 0xBE0C1D0A0FCFAB85ULL, 0xEFFCB1F300B6DF21ULL, 0x836BD260DBEE3A9CULL, 0x3DABEFD3CBE8059DULL,
0x428D15AE1179CC76ULL, 0xC24C21668BC93189ULL, 0xFE4BB61CE35719D8ULL, 0x5B51117E51C4F204ULL, 0xC0BB4A9FF098C36AULL, 0x1C2C237840953419ULL,
0x98D7F4D53B69D357ULL, 0x6E3B7CB579885089ULL, 0xBB10560A17F41AD0ULL, 0x42DC710238C8D24DULL, 0x184550E49E7CE796ULL, 0x737257C4F190A4F5ULL,
0xA3DBEC4284D348F3ULL, 0x21CD4BCD13366FE5ULL, 0x73EC2BA2B7EA9CA6ULL, 0xA6F68D8D5F929FB0ULL, 0xD3B629BD1F1B8CA5ULL, 0x4EDE20DCB28A70FBULL,
0x67014CB4676CFE50ULL, 0xE25CFBD44425F5E6ULL, 0xB3592DDD1F79EFDDULL, 0x3DEB57BBEBBD2038ULL, 0xC2845676F7CEB353ULL, 0x4A7A1BFD767BD873ULL,
0x4706395A8476BA51ULL, 0x19047F771FF49F7ULL, 0x5FED11C8055609F5ULL, 0x6FDAD3B71E5A9379ULL, 0x4DE681261F2EDCBEULL, 0x4A75D287BD5B48AAULL,
0x3E158C6BFB42FE62ULL, 0xEFCA7F2AFDF60E74ULL, 0xDC356D6BC5861DFAULL, 0x65B0C0479D051120ULL, 0x7ABB35D0F26206E8ULL, 0x90A3957AF1AE79D2ULL,
0x7D57B24F0CB81C2EULL, 0x451260105350B310ULL, 0xFD5F9C3B2D909BE5ULL, 0x2F055ECCA443A67CULL, 0xDC9588F0EF6ACB4DULL, 0x85A9BA3AFDA4C86ULL,
0x54FB33612E282455ULL, 0xBFADE21A9EEDAC29ULL, 0xA4F5335A043C70A4ULL, 0x2B532DDED6A5015FULL, 0xF3C3B6AC357F77E6ULL, 0x8B13C21FAF330FA1ULL,
0x405CA22B8EE742EAULL, 0x941D5091E98A1CFAULL, 0xEA5CACB728D028EDULL, 0xE545D047F19C708CULL, 0x7B858DBFEE01BF70ULL, 0x71576820E9041E46ULL,
0x4FCF2C23622E2233ULL, 0xE290B19CD6FF36FULL, 0xC0F87F6D36462A8AULL, 0x21C74F44F2E6F30FULL, 0x5B1DB6422B16D639ULL, 0x6557CCB25F087860ULL,
0xE2B184F23FDAA475ULL, 0x56FF465F5B45FF1ULL, 0xD815AC936173915FULL, 0x49BEFF6C513BB992ULL, 0x40167896EA3E7EC0ULL, 0x7D0672A303B796EDULL,
0xBAA21C660813E5BCULL, 0x33DEA6191555623AULL, 0x375DE08AEA05B486ULL, 0xF9F10F00577816FBULL, 0x97DE4D043AA72EEEULL, 0x4DED6492A59318FFULL,
0xF7BB60415C8CFFFFULL, 0xE55E476606CFDE8DULL, 0x30A58275C1D652A9ULL, 0x75EBB729BA2465ULL, 0xB63626722F55F08FULL, 0xDE2357D321D917B3ULL,
0x1E496D40DCE6015BULL, 0x9FD68E746B3CD92ULL, 0x992346C61AEFE4F2ULL, 0x9AB44A33B9BDC804ULL, 0x8434EA15CBC78526ULL, 0x1EC015EB877D4C6ULL,
0xB05DEFD4CDDFBA5FULL, 0xF22E642B6D5C6C64ULL, 0xDFA015D183053410ULL, 0x1CFFAF8317FAACB8ULL, 0x5AC50E7264B0697CULL, 0x3DEF9277B9EAA4BBULL,
0x8F7200E0C4FFC5E3ULL, 0x9CDBAF0642653AEBULL, 0x4D01D318B5D18970ULL, 0xCC5303EB8055260AULL, 0xCBAF2B667104FBDCULL, 0xC7F5A9A849F2FD77ULL,
0x59E1963FE72E3B1FULL, 0xDE66E647A13F278ULL, 0xB56DAA7783998D9BULL, 0xFE308EF87559F25AULL, 0x29980F0EB213A527ULL, 0x1D12AEE0F42EE73CULL,
0xE9B234399C09C806ULL, 0x7B4DDF2694B8CF35ULL, 0xDA0FF473934FEBE6ULL, 0xCF5682D4874AD847ULL, 0x2FCF7935B6D6B029ULL, 0x3F487D60226358B5ULL,
0xDDF51EF2BD82CFCULL, 0x9BE4E5E01FF394AEULL, 0xC6F8B441C79F7349ULL, 0x82D51891E7317FBCULL, 0x71AA134D2C57F8BULL, 0xFD89E3D65627E643ULL,
0x803D99476E427EA3ULL, 0x54FDC99066D19EB4ULL, 0x2C839AFBFB197D73ULL, 0xA029B4FB78813EBAULL, 0x933C09548D8C7E5EULL, 0xC040940D127C7477ULL,
0x274D020182E492E3ULL, 0x5B5667DEE84F290CULL, 0x24D9F5AC5A526007ULL, 0xD9C16C59E80B7065ULL, 0x567EA188E7756A46ULL, 0x4673471005F507A5ULL,
0x189EF7727A42563ULL, 0xCD4A1A507BDD7490ULL, 0x7F562620DDB164BEULL, 0x89B011802EFFA07BULL, 0xDEF41F9857673003ULL, 0xB90C46B77C5EDF83ULL,

},
{
0xAB07ADFEDBB0705AULL, 0x2DC7A86DFC7B82CCULL, 0x8CED4379CE4A60E7ULL, 0xF5BA5F9C39AE9F58ULL, 0x9894E059A71B6ED2ULL, 0xCEFE7D7474C2A72EULL,
0xFC0A4FEACFF05B78ULL, 0xE2CBF1CE8BC10404ULL, 0x36BE0595B85D1CB2ULL, 0x8DD8414265D3961ULL, 0x737CD94954317AE3ULL, 0x3880A5D11CC407EULL,
0x79451B967A50E89EULL, 0xF381A70965D81A6FULL, 0x3FBB56363A6FA4F8ULL, 0x62EC9ACE567AC803ULL, 0x6E726AEB9138D9FEULL, 0xD4B4FA15357BF7A5ULL,
0xD31C0DD788966816ULL, 0x73F7B78E87BBB7EFULL, 0x616C643C60AF0F40ULL, 0xED05B8983F2A635EULL, 0xBDA7ED8A7AD278B0ULL, 0xBCD5856136645C59ULL,
0xF2691625FE86D1AEULL, 0x8295E4F284401EFFULL, 0xCAB898310C1E117DULL, 0x73C1A48924F7FCF9ULL, 0xD965163125D3AB0FULL, 0x63F3464BDF21F58BULL,
0xBD063E3CC86EBBC8ULL, 0xF9F7E084B3097943ULL, 0x85F6ED5EA87DF30DULL, 0x6E0EEDED0725CBD1ULL, 0x35084FFC2E7D9B88ULL, 0x52CA6EC762AE794CULL,
0x1C61FD90CFA80B30ULL, 0x600DC42700CD5349ULL, 0x5474964D899B8C33ULL, 0x57943445F2F25BE1ULL, 0xD12EB37EBA792043ULL, 0x881C8744E34F82E4ULL,
0x8568413D5C8FB5B8ULL, 0xC639293CE8956037ULL, 0x1EC98A6BDB692B9DULL, 0xA01D804A5E1CAD09ULL, 0x58BDF7C7FD20BD1EULL, 0x55A99DA3B651A730ULL,
0x931A123C9BB089B1ULL, 0xDD2B0461510BFF37ULL, 0x32D5079B6954765FULL, 0xAC25BF0D89F5EE27ULL, 0xE6DE6BA2A6EE160EULL, 0x32FBF7076E8914C7ULL,
0x4C5C599AE37AC19AULL, 0x7F1BF3CF94A88122ULL, 0xE3D0C3941D42FBD7ULL, 0x805CB4FB09C8760DULL, 0x46E928EAA8CB4FB7ULL, 0x88B17BAC96725E4CULL,
0x930204D66A03F095ULL, 0x69AD8C93E84B5A87ULL, 0x3C78D344755AB3CULL, 0xB3E864F63C08A635ULL, 0x81BA2E7D57D280AAULL, 0x619AA7A57E89DA79ULL,
0x109F5A6F16192C1BULL, 0x5BCBE574A051F8D0ULL, 0x3BF7E3BD8DC969F8ULL, 0x3418D7689E17B76CULL, 0xD053DBD2BEBE2128ULL, 0x64B8213F44CAC8EAULL,
0xDB71A3FB5D26332ULL, 0x6003615CB7F28F18ULL, 0xC66604AAB4CB6F76ULL, 0x2A50F1EB1DF9066AULL, 0xE9872D69CC86706BULL, 0x51B7785CCC84A493ULL,
0x546C70A6D152826AULL, 0x3448C9E69DE19016ULL, 0xC4682F4FCE15A06FULL, 0x11E9C2B512CDDDDAULL, 0xF3356CDD067745AEULL, 0x28806FADE0A87C79ULL,
0x495484396222317AULL, 0xAFE7B1869F65A614ULL, 0x24226507A2E243AFULL, 0x83181C44C45B30BAULL, 0xB8A8E1B8539EF063ULL, 0xEDC8CB66C449A6F9ULL,
0xBB6B286368C3A378ULL, 0xBFF60A25B053165FULL, 0x684618E4B2DCDD3BULL, 0x3D4F53E041B5575EULL, 0x855674EA64B3A458ULL, 0x3815742687B1AD1EULL,
0xD7A6BBC68E543136ULL, 0xA9B5F89DDE8A23E3ULL, 0xD0F4CBAD7D0C9CEDULL, 0xCB3B8FF7CBBD74E9ULL, 0x7817474B9D1B1DF6ULL, 0x4F3D07657C4BEC82ULL,
0xB00531886BD6A6F6ULL, 0xFCA258FA4B8EF1C1ULL, 0xC51A62F8870E7E1EULL, 0xD45F690C7094DF03ULL, 0xB4C1F880FE80DD10ULL, 0x9867F7B781ADC38BULL,
0xC0BC5BBEDE13095BULL, 0x7F292FA4A502F680ULL, 0xDD7955723D77C69EULL, 0x116A43488C109FE9ULL, 0xF7F2A06E8F1B64B0ULL, 0x194817FDD1831C5DULL,
0x8C06B0ACCFE4E7C0ULL, 0x67290922A2B6AC16ULL, 0x1B66FBCD766B9B48ULL, 0xB962F45918ABB12BULL, 0x9D1A494674FC3D8BULL, 0xC8709A70E562F176ULL,
0x910E0BE8369E5FF1ULL, 0xCFB29CDA2A1DA0D5ULL, 0x93A7952286DBCADFULL, 0xF1ABE5A390274E83ULL, 0xDF177CE77DDE0EB2ULL, 0x81F237F914005AC7ULL,
0xC9F050A10072231AULL, 0x79188934E55C6D1FULL, 0xD42C590EEF045019ULL, 0x528E2757124E4C6FULL, 0xF9E4BD5B273DDBFCULL, 0x4738D6A2BA87DDFCULL,
0x12A50A30267C662FULL, 0xC05030A599A0B391ULL, 0xD4C8C71130034B4CULL, 0xEC1E597B55B2982EULL, 0x53B7DD34A82C7CE5ULL, 0xCDD77BA693AE2CF6ULL,
0x89CAC609D4B23F86ULL, 0x769A7E461066319CULL, 0xD21CB028ECD63ADAULL, 0xF3B0250887890B1AULL, 0x13869EA4EDB8D23CULL, 0xB56B778922773F02ULL,

},
{
0x3C2423A389F6AB4CULL, 0x661E04EA7761F83CULL, 0x44A3CD706694BE73ULL, 0xD51F97A0E2193B6FULL, 0xFED0D16455DAD64FULL, 0xA6561483ABCCE151ULL,
0xB43640BF9A1810C4ULL, 0xEEAB6C3409DB312CULL, 0xB009FF5CA7C1D4B3ULL, 0x917FA466A9ED407BULL, 0x617F395A187CC435ULL, 0xA273CD1DAFC94CD4ULL,
0x5CFC8D0A448EDC35ULL, 0x6859BF62CA0CF9EBULL, 0x5E631AFB366B07B2ULL, 0x77E8FB306AE880E4ULL, 0x80DFBAC94A10F821ULL, 0xE918DF75F9EBFF8BULL,
0x34D8A9C2C57EB17CULL, 0x56AEBAF0FCF95F21ULL, 0x92F9E59791E29E97ULL, 0x7CA79ABDB5B1D43FULL, 0x4320C8917F72260BULL, 0x94603CB2C2DF4D22ULL,
0xE0DA15863229CF65ULL, 0xF9A6F0E5E9A4232ULL, 0x70DD47B5FD0CA72EULL, 0x1591EEA1815D9761ULL, 0x90305721110B5319ULL, 0x8A104210C5E99FE7ULL,
0xC49F715358CC1E14ULL, 0x3BABCDD8C0E1A4F9ULL, 0x965D56C5973529C7ULL, 0x757F4FA79DC3FCBEULL, 0xDC6948FEB4DB6EE9ULL, 0xA92C8DE32D5F6390ULL,
0x5A97D32CA95F5922ULL, 0x58E1338118969B6BULL, 0x40F3AB703EC03E8BULL, 0xF3D8E265872FAA5CULL, 0x4C56E67D576DD67AULL, 0x288D4CE5DC5CFF35ULL,
0x5C7DF6DF164576D9ULL, 0xBDDB676EDD8D0FB7ULL, 0xB4B5DCF68A947109ULL, 0xB36DAB790407757AULL, 0x19803680A980F1BULL, 0x5FD51D06170CAF24ULL,
0xE6C86AAFD2CB3C19ULL, 0x517F0BEC8B8A535BULL, 0x98DA6D3B61A955F4ULL, 0x4C3C4E05CCFFECCEULL, 0x2000F14239370AB5ULL, 0x636B46E580C941E4ULL,
0xD153FBEA35A98674ULL, 0xFB2E54B1CAD6BEFFULL, 0xDCAB5DB5405790B7ULL, 0x157549135A97FF9CULL, 0x56744B000FB85AC2ULL, 0x3C72F6083999CD1BULL,
0x515BB1B81D4A4583ULL, 0xFC04CF8E50E4B915ULL, 0x8C5A2B83FF97E27FULL, 0xBFCEEE3EBB500784ULL, 0xD783986E25C44296ULL, 0x2AB948A24C62F009ULL,
0xE73167B647F4D561ULL, 0x1AE96A3F9822B862ULL, 0xBEBE6BC58D819A0CULL, 0xBAB81E915D12537CULL, 0xB7AC1663E780A163ULL, 0x22289586B540A2D4ULL,
0x721F3A4DAEB621D5ULL, 0x823FE14F35830321ULL, 0x87CE362E8F4B6146ULL, 0xDC166A95501B9E55ULL, 0xAD7F612DB9CDFE47ULL, 0xCE4B6A833B1CC3B9ULL,
0x87FF8846F4766282ULL, 0xF4B596EDA9CF29E5ULL, 0x1111BD92039C41B9ULL, 0x8AA0ECF750BC5993ULL, 0x481AE46C5F1DE2C5ULL, 0x7B1C48C58A9A305CULL,
0xAF533B84B8DD34DDULL, 0x35506BEAC7FF5AB2ULL, 0x9BB0705B25B76267ULL, 0x5380481DC8BDC000ULL, 0xE17F33DA375622C3ULL, 0x2226262DEEC82AB8ULL,
0x1A376587E35FC221ULL, 0xF588AF63A0021FEBULL, 0x272495ED00C51722ULL, 0x270CBC5BAD98B146ULL, 0x27D24B4FF4174CFAULL, 0x16EE052DC2584CADULL,
0x74552B122DCDFE57ULL, 0xAB3CBF8028718ED2ULL, 0xD4D02FE408B32799ULL, 0xCA4CD981A98E4C81ULL, 0xB67439001B598FCBULL, 0x78FC2662629AEB91ULL,
0xB566087CE6FB80B1ULL, 0xF54362DED4D691B1ULL, 0x817A81D1D97C44D4ULL, 0x4E17F6150EA6E2C9ULL, 0xCA3110C8A38E56CDULL, 0x3C83DB302E7BDDBBULL,
0x3BFB453AF2249978ULL, 0x76F68A277BF69D35ULL, 0x9E902225365F5C6FULL, 0x9D863A5C0FE514CAULL, 0x1F6447A6772116BFULL, 0x1FB0EED11CF97F34ULL,
0x48D24DFD8559783EULL, 0xBC58FC24BF4CB705ULL, 0x694B7CE01722B4E0ULL, 0xD438285B316B164FULL, 0xEF63A38313B15028ULL, 0x66293B852DD702AFULL,
0xD5DB981D11E6789ULL, 0x9239408DE85A015DULL, 0xBF674CB26E08B7ACULL, 0x51FB7B5DC67F8C3BULL, 0x7E30F18E4D27794EULL, 0x38BE3C291C5714F7ULL,
0xF0743E65B59A400AULL, 0x7B785C0F23D7F1BAULL, 0x8A3D2EECE8BB8C12ULL, 0x389732B4AE34A9BCULL, 0x188FDA08284AC302ULL, 0xF67002480597501ULL,
0xD1CB55724545388DULL, 0xC57F9A3E42F98E48ULL, 0x32191D976592994AULL, 0xE526769CFEE4BD54ULL, 0xAF2E4B44E5721D24ULL, 0xA82717475B9C093DULL,
0xFD899F46B7B629F6ULL, 0x8A00671ECC96881ULL, 0x6C9BDCD80D8AD067ULL, 0x7D6F91E75236EF43ULL, 0x95608C844DD06639ULL, 0x15512A9F54DCD80FULL,

},
{
0xA8FFE4D49075E2E3ULL, 0xD63DFF9E4F38018ULL, 0x8E8C72372C16CCEFULL, 0xB647496737AFCBBFULL, 0x7CE7B5FB96E7414BULL, 0x9E1B136D813CBC2BULL,
0x36BA208261C4DA5FULL, 0xA549E2D5AF760CBCULL, 0x6171C5FD8455F8F7ULL, 0x1A8CECB0C63943A2ULL, 0x60A498565798246EULL, 0x434AD8845D32D2ACULL,
0x3DC4E4DDBAB83EF3ULL, 0x9F77F346C200CEDFULL, 0x85DE981B2518DEF9ULL, 0x69C9F2FA75526191ULL, 0x37C138092F4D8B66ULL, 0xDBCA2B79DB2BF71DULL,
0xDC6B09748C1068B6ULL, 0x48B03A2F05D60BC2ULL, 0x9D8A62DC034AE867ULL, 0xC78C9FB9EFF62AA4ULL, 0xF470DF89B9C27935ULL, 0xEB6B1E465EB2A304ULL,
0x6283482C6DFF30C2ULL, 0x29A2F902231A17B1ULL, 0xCBF7E6A557D3810AULL, 0x1D231F6142033023ULL, 0x28A8B58C84F7EF8CULL, 0x5B178D3752696449ULL,
0xD906B49B67DE50C6ULL, 0x9531261A2E54DED4ULL, 0x960FBD426ED031A8ULL, 0xED03B7EB5F78BD1BULL, 0x93385457838DBF39ULL, 0x28DE0F4486D4A0BULL,
0xCF33599C65B43515ULL, 0x9BDADD50CFCDAF75ULL, 0x7ADB9F62D0F37879ULL, 0x44B87E9826587765ULL, 0x42129ADF43D3732DULL, 0x7B2370F10F08A8C9ULL,
0x3A330D2D75A5A099ULL, 0xC7133540BACC78CULL, 0x2B536E7CD498FD1AULL, 0x422989933C7CBCDCULL, 0x32AA3BD5460688BAULL, 0x9B0EB35DF0A40D0FULL,
0xD2DE3DEFD4059C63ULL, 0xCF847640929518B5ULL, 0xCD5F67B49BE9DD90ULL, 0xB546EB0F8C37881AULL, 0xDC002FFF191AF2DFULL, 0xC7F527AF61D2A893ULL,
0x342C07C85235810FULL, 0xFE4BBE5F213EC560ULL, 0x17F7C6FE767623D7ULL, 0xA68EEFC9C209E291ULL, 0x3715CF187453E683ULL, 0x3E6E77A2B09A4721ULL,
0x56F5C7A66D2ABB10ULL, 0x32A71B36CCA56FECULL, 0x81BFD51649610A59ULL, 0xF364E017526FADB3ULL, 0x6504FA904B07E57FULL, 0x959F7CCEF6A0025CULL,
0x9B460678195E33C1ULL, 0xB6F2D5B2F3B2B490ULL, 0x66CB162D1D710928ULL, 0xDBD32CD104BD480FULL, 0xEBA4E75FF6BD049FULL, 0xC036FA21D780E271ULL,
0x491C89A6CE914836ULL, 0xCBFC1E81AF53464CULL, 0x248C4D2D5B24385BULL, 0x812A33873ED321BAULL, 0x9C560BA15D6872D6ULL, 0xB42C05DCCAEE5D79ULL,
0x622290DB97D96428ULL, 0xBA8AFF6E4A4232A1ULL, 0xE32516B2D7B15BA7ULL, 0xE4C135FCB16BA12ULL, 0x2362256478CA3BCFULL, 0xDCF1D3978F9669A7ULL,
0x6BF793DFAE05DA86ULL, 0x694BE2C7002BF11AULL, 0xF58A497E8FDF1BA4ULL, 0xC010134AAA60910AULL, 0xFB22A06AD9B9CE09ULL, 0x3BC7B106E217E83EULL,
0x18A25121431DEC87ULL, 0x6273FAB50226C542ULL, 0x8011DCA62B13C419ULL, 0x91FC49EF1945BB79ULL, 0xFA04874C01FC0A31ULL, 0x7E2BC1CDA0FE2727ULL,
0x66A0426785715F6AULL, 0xFEB7AE9052DA6E8CULL, 0x42D0C3E3B14FC5F4ULL, 0xAA52B8660ECC141CULL, 0xF6D985833B329769ULL, 0xABD08DF33F5FC400ULL,
0x4C96B92F815ED44CULL, 0x87F7E875B5ADD359ULL, 0x5FE4050C1C6B3CULL, 0xE23FFBDF07A0CD6FULL, 0x6785B34091566A9DULL, 0x4D1BCF3C7B9539BEULL,
0xF35950B47A3B3F61ULL, 0x75ED0A27E641E9A9ULL, 0x49A3446F6599A91BULL, 0x15AA17722872A089ULL, 0x9509D604171F824FULL, 0x272F828FCC79A7A0ULL,
0x12B64EF7B42C9746ULL, 0x949FE4AF4D958B82ULL, 0x4979CC72F81EF868ULL, 0x5CA6CB6D7226041DULL, 0xB98E1C629A5387AEULL, 0xDBBA50735A9A555DULL,
0x591100B20000CBB6ULL, 0xF634F5C50F9210C4ULL, 0xF41D19FB97A77D26ULL, 0x34BEDD8099EB8E6BULL, 0xC4ABB1FA883B9DC4ULL, 0x9D937F4C6C7BEB7FULL,
0xEB3E811A795558EEULL, 0x9A3FE1C13C212772ULL, 0xB3BF54B7BEB798A1ULL, 0xBE617B4EDBA585C8ULL, 0x62961001A338B412ULL, 0x40628D762A9C9008ULL,
0x969160E706DB5AFULL, 0x78DD0B6084B009CDULL, 0xA52375DC517A0844ULL, 0x476A92FC94C038A5ULL, 0x8492885ABE399F4CULL, 0x3EE4024F14095518ULL,
0x4C297EEB3B9198B3ULL, 0xA685784BEAF3D56EULL, 0xE4325A1B38AF8E0BULL, 0xDC71793687207C27ULL, 0x35BCFE84AD0CFD87ULL, 0x662B04CE12FC0C39ULL,

},
{
0xE34C4D492190C460ULL, 0x41ABD1CBED142BA1ULL, 0xF7804F41C3D3D5B2ULL, 0x9E8118A030FE44FEULL, 0x2A5419A41E42780CULL, 0xD381C79A8661BAAFULL,
0xA7DB80C44F3AFF51ULL, 0x8BE451124AC68427ULL, 0x40571DBC66D5C7B0ULL, 0xA47B055B31F7AC4ULL, 0x3BBE7DA6A58E7DECULL, 0x5C71E5B0DAD86352ULL,
0xA22A1BEB96EACCA3ULL, 0xFC70ECC70F5F36AEULL, 0x350837D862BBAD89ULL, 0xC1D040DF8A787004ULL, 0xE2E6663C231B2DF1ULL, 0x78E40E51D5DF72D2ULL,
0x28AE8E9C6AFEC3A7ULL, 0xCF98813D70100370ULL, 0x79FC696BF1AD8FC7ULL, 0x1DC5051A5F707341ULL, 0xE02F39F202BEAF54ULL, 0xA29B9307B5441947ULL,
0x18E76E2AA6DFDF8CULL, 0xE88F7CFED78FD985ULL, 0x8F6CF55D9C838ABULL, 0xA2D092CA1EC7C87ULL, 0xFD12C90F558A3650ULL, 0xAFA998F524088140ULL,
0x606EB3E09C882BBBULL, 0x811B64E762CE51E5ULL, 0xC37473F469672ACBULL, 0xC830F082E22199BULL, 0xB9D66517C2A90ECAULL, 0xB38A3C4C9B90B35EULL,
0x7579DE8A0A64A064ULL, 0x951145C548BF3688ULL, 0x56CE96D3B7677419ULL, 0x2BAE1B645C83EF20ULL, 0x663189E7B4412C2CULL, 0xEB7684BD5165E0C2ULL,
0x39DE1D34055D0E44ULL, 0x5C6AEF4D8CD8EFECULL, 0x53167EE0F27B5DD0ULL, 0x1565A33E65E06DA0ULL, 0x833E0C6824F990F5ULL, 0xD536A1058366071BULL,
0xE794C00C7DE5C0C1ULL, 0xB93D94FD55BE231CULL, 0x620C03BE5F0076E7ULL, 0x4C4AD89728E4A21AULL, 0xB114039C2D432FF8ULL, 0xE165A01552252091ULL,
0xECAF32B646624414ULL, 0x14CCFB4AE76775A5ULL, 0x7B90757B6203AEB2ULL, 0x20D5FA895CAA9A33ULL, 0x40BEC92E2DDE5A1DULL, 0xE24B4D8AD579C0D3ULL,
0x323F343559B0FF90ULL, 0x1F110861D2C344B4ULL, 0x8B2F984BBF4E29CAULL, 0x508AFC4802084EB2ULL, 0x61CD6EE49F9BBE0BULL, 0xCAA251217B96C5CAULL,
0xD6D4776E20CC3902ULL, 0xAE23F8D838D6714FULL, 0x6ABB669692BC1D0CULL, 0xA4946D3E515CEC65ULL, 0x36CE0AC1085C3CA9ULL, 0x9E0575AC1CF7E1F9ULL,
0xACD953B88FA62978ULL, 0x99DCACD9942E5096ULL, 0x58A7BD5DCFEC4BE7ULL, 0x5D49686DBA687D53ULL, 0x2BE62F0486FEAA53ULL, 0xCB9CD0D795A8161EULL,
0x7E1F6B2EA133C3E4ULL, 0x5AC8902ED59606A4ULL, 0xC66A6936524BB12DULL, 0x3C9F3D6E2F04D289ULL, 0xD847014610A9B6E4ULL, 0xD107E948DFC2D6DDULL,
0xD8A26C0464CCA13CULL, 0x5EC490C00EF3DC9AULL, 0x621B54A40747397AULL, 0xDC806F1CEE9CBEE1ULL, 0x76C2C0B9DDF7F1E6ULL, 0x920F72B0CA484290ULL,
0xB1FFA087207B7754ULL, 0xF5FEACA3339A12AFULL, 0x8BDB2AC6DA2806B3ULL, 0xA2F6AEB0624FE587ULL, 0x9226028BD63BB769ULL, 0xED5738BFFA56F3ECULL,
0xDD1FBD894E37916AULL, 0x2B7A95C46062EBA7ULL, 0x2DBF3829B0CC322DULL, 0x3E564D5DFAFF8FA2ULL, 0xC0749C92FE5EBF78ULL, 0x32FA78676518958EULL,
0xFBA1FD533695BD12ULL, 0xB5AAE1C058FCE3C0ULL, 0x2CE9620FDC55E6DCULL, 0xDBB960A5F36FF610ULL, 0xE8CF30F0123A22F9ULL, 0xF62F8D25B99B0AE6ULL,
0x9212D26FE1407765ULL, 0x9018DA7B6F9F5E6BULL, 0x2D39AB2285118919ULL, 0x8380789167A02E81ULL, 0x8C68A7D56D8B3874ULL, 0x2A4F9F59D68FB13CULL,
0x7E6FC62D81C05DD8ULL, 0x88FD71EEDAAED651ULL, 0x32E506B64D84C7E4ULL, 0x9F87FF7992DECF52ULL, 0x6BC9B0C5903C0F1ULL, 0x519C48C486A8325BULL,
0x8872A858889CBFE2ULL, 0x53A771989D9EC6EFULL, 0x9A292715C317B308ULL, 0x5CA79F925E36BE83ULL, 0x228A28AA4D871DEAULL, 0xE9EFAE8D43085871ULL,
0xA3FBA9E9CAA5FA7CULL, 0xA8A56C12A4E3D7ECULL, 0xACE272D3B7C81ED8ULL, 0xBE9B558CC3FFEE58ULL, 0xD798F30F7219E2E6ULL, 0x8443A4E7346F8807ULL,
0x26E0DE18103F9999ULL, 0x617336CC06943431ULL, 0xD22E53DBB4914C91ULL, 0x2BDE8933A7D035F2ULL, 0x5479429E916C8624ULL, 0xF76AB5494234073AULL,
0xCE6931156848AC9FULL, 0x38E14EFC26B75B1CULL, 0xFFF121B10B267284ULL, 0x10512DEB28CAD1DDULL, 0x6CEC76226973CCCDULL, 0x6782B4861E0091D9ULL,

},
{
0x6679982968D0191DULL, 0x1CA6F653FA0FB4DFULL, 0x6C9FA16BF32B3AFAULL, 0x9D1157CC652BF0E0ULL, 0xFCF1959FE61C31AAULL, 0x384B6AD9EBD83157ULL,
0x5AA50EABCE0EB363ULL, 0x44286D831F823A71ULL, 0x4A9F9D79D5D46BBBULL, 0x303A4C1F3D9459DBULL, 0x5DA20C2BEF7982AULL, 0x730C2713413C26C5ULL,
0x3E5F342334F88DD0ULL, 0xDE64DCF116995602ULL, 0x8753090D33D60D71ULL, 0xEA04C3265A580BB6ULL, 0xF9537CEA9871A83AULL, 0x95DE79D8157925A5ULL,
0x1E752BA18CE67AAEULL, 0xED313D6F011B504DULL, 0x97F399504FF5E76FULL, 0xE2349CC9A72CF2B5ULL, 0x6CAA74640FAF5C82ULL, 0x9B753859A502DF68ULL,
0x121D8FF443E70890ULL, 0xECBDE2C1A164DB45ULL, 0xA45F51196E1B66C1ULL, 0x1AC07D830080E989ULL, 0xB341F3437AAEE906ULL, 0x65536EA2BF769DB8ULL,
0x15BC514DBEE6841FULL, 0x36E8164E4E850FB1ULL, 0x3FB148CDC1AA89C9ULL, 0x3A05F0A72775D7FCULL, 0xB3F8189E22F01A9EULL, 0xC11024D28DA2A82CULL,
0x8C1AFA108FDBCB62ULL, 0x8DB116F91BF77F73ULL, 0xA16D37E770E5592FULL, 0xFC46E801F09D28A0ULL, 0xA2600E75530208E8ULL, 0x99B775821427FB30ULL,
0xE8C079F8B4DE9358ULL, 0x9222598E0F1032A6ULL, 0x55DE1471C176D986ULL, 0xF5071264355489EBULL, 0x709ECD29F794689BULL, 0x99FEB2163268243CULL,
0xB8631D2EBBE18951ULL, 0xADC46ACBD5B246A5ULL, 0x36775FDDF294AAB8ULL, 0x14E544E0F3483DD6ULL, 0x46444847825A4CE6ULL, 0xDE15AF48D46ACF92ULL,
0x8F320652BA117DDEULL, 0x76F1D87ACB01778BULL, 0x6E28332F42545375ULL, 0xC623F0ECB06ACD1FULL, 0xA767542F3CB349BDULL, 0xA860F2127B6FE642ULL,
0x2938AA71F94F6E95ULL, 0x6EB03F6F5A2BAB50ULL, 0x814D5241AFC5F7A7ULL, 0x6015C6A8FDD1689BULL, 0x7AF9ACBC0C489BA4ULL, 0x57A8EDD6B2AE6FF5ULL,
0xC6F311A384D5E342ULL, 0x624A2517E3B691FFULL, 0xB6288FC3F97CD45BULL, 0x7B1E73B2426B0F23ULL, 0xBAAB8E18B737A312ULL, 0xF003E1DBEB48A9C5ULL,
0x846AC8D5B5588B6CULL, 0xE72F8375AB212405ULL, 0x37DB790AB170D9F1ULL, 0xDF8B4D62E237F6B8ULL, 0x152B5D317206E6CFULL, 0x7724ADB32CF13D3FULL,
0x59D315AFE23851AULL, 0xCEEB7961032A21E7ULL, 0x2DE0AC80083F21CBULL, 0x2A57257C99FF569EULL, 0x2E7D9082C2696045ULL, 0xB101FC9C95713127ULL,
0x36B934ABE14BA58CULL, 0x4C509985FC0966B8ULL, 0xC4B19CA0C7E963CCULL, 0x804B5F631722BAC3ULL, 0xE8D2AF93067E6CE1ULL, 0xECF72B835EE4A62ULL,
0x6FCEF97D8225387FULL, 0x927F4960C9ABF1FAULL, 0x90A83DDD5A4AEF32ULL, 0xD2E5A46EF11F1F14ULL, 0x2048034820D0259DULL, 0x4CD4740E03E84114ULL,
0x8B11BE5A145B01ULL, 0xF37BC58FA8FD5053ULL, 0xC42C31E883A70265ULL, 0xC0557835AF93031EULL, 0x238CA545F0AD6D3EULL, 0x596D016F5C07B048ULL,
0x26BE41562F28E9F5ULL, 0x7F291606E2EAF417ULL, 0xCF03D59020C1B292ULL, 0xA203B06493E8DDEDULL, 0xB03B1486F8DD9978ULL, 0xA3BADFB18978ACC0ULL,
0xBAB4D42A13D3BD3AULL, 0xDC1ED93E5EA936E9ULL, 0xA08025CD95184C9EULL, 0x2E3B3C61C4AF3BE3ULL, 0x92C437D318A62974ULL, 0x29DF78B3E33727F7ULL,
0xE7F301BC663F31A1ULL, 0x13CCBC8AE5D555E8ULL, 0x56AA34FD975ED2DEULL, 0x94A35A160C6F7157ULL, 0x79A902E01AB5BC85ULL, 0xCE297BA7F9198F2AULL,
0x87E11383275905C8ULL, 0x3A31028043928351ULL, 0xB5A0CEB56BC72F19ULL, 0x260CC863991623E2ULL, 0xA87A4D529A952F36ULL, 0xA24CAE322B61B1A0ULL,
0x3AB3D08F1682BF45ULL, 0x2EA67EDD3017071CULL, 0x2A9613FCA2AF64A4ULL, 0x264CA679EE047166ULL, 0x33E740F2153A7E15ULL, 0xF4782FC122838A2DULL,
0x41291A4175D0813ULL, 0xF51FA9109B7CC5F9ULL, 0x693C5012B65A391ULL, 0xF89AB552D657F2F8ULL, 0x4C2F3AEF98DE7958ULL, 0x866B306DBA0F4114ULL,
0xDCC2433FBAE5A2DAULL, 0xE57ACAB882D8BEAEULL, 0x3062FEE150B7C575ULL, 0xA924EAAAD88905B8ULL, 0xF0F482C4013341B4ULL, 0xF9C7F12999D611E5ULL,

},
{
0x1BA1A5156E5FA10EULL, 0x2DCC56F3ED150653ULL, 0xBF1DFE8A62838711ULL, 0xCA9F80AB3A639A8ULL, 0x123FB9C8E5DC5CBCULL, 0x7D375479F1953890ULL,
0xD992A424BA5FA925ULL, 0xFF3E1BB551B376B5ULL, 0x11FDFD77B13563FULL, 0x8AE852A405980AD9ULL, 0xDC815066416D5483ULL, 0xE8BD55C84CEE1A90ULL,
0xD868E4E6D519B72BULL, 0xE0FDD024C6E8BBF6ULL, 0xBF05CC979CC4D54EULL, 0x1E13C8B0ACA72651ULL, 0x824F4845D0640E42ULL, 0x2B388EE5C5DA39B9ULL,
0xD4C3B93BAC716F9AULL, 0xED921E8DC034E34FULL, 0x2B6354D5F887D06DULL, 0xE23C9BF53ECA7751ULL, 0x634AFB897E1C8DA1ULL, 0x61F0127EC0F04BEFULL,
0x457DF04EB6BC40F9ULL, 0xDE2D96FB99D03FC1ULL, 0xBDD31AFE1CFECC92ULL, 0x72A7C98C45590978ULL, 0xB5AAE47C32D47182ULL, 0xF1BFB1E4453B2968ULL,
0x2C92FD2461AD88D4ULL, 0x3E9DDCB682CC9C35ULL, 0xA413EE59E2A70E66ULL, 0xCF013AA7E93914E1ULL, 0xDA7685ACA091004EULL, 0x65EB09D60BE1965EULL,
0x1D9100969BB1F30DULL, 0x148D4ACDF2DAA732ULL, 0x5C479B0FFC11B7ADULL, 0xD4332778996BA8EAULL, 0x36F0A9712EE6131FULL, 0xCA819E6C07F8A7AAULL,
0xA799A75013AFF3F8ULL, 0x6B18892DAA7E996ULL, 0xC928A278CF39F0BBULL, 0xEC2D1779DF90B323ULL, 0x7E083BB8E774C97EULL, 0xD581C9A179BF6BD2ULL,
0x21A065273611F171ULL, 0xC2812B77462988C6ULL, 0xECFD0BD7E5B50FDEULL, 0xD52C52D4B9832BD1ULL, 0x42681D5C733FA515ULL, 0x36889831A1401868ULL,
0x85B66BF64C653398ULL, 0x65B931FF4703F598ULL, 0x7AA6F0567A173AA9ULL, 0xFE7078175AEBFE2CULL, 0x9ABF19A83A648B0CULL, 0xF1E58874AD775D39ULL,
0x7D8D9EE2D4C7E8CEULL, 0x701D44043CF0DA32ULL, 0xC5CCC17A73DBC526ULL, 0xBE7B258424BF27C9ULL, 0x71622926A9CD0A78ULL, 0xD91694EA1BC4092ULL,
0x167B7E1A643E7CFCULL, 0xCC48CEDA37241178ULL, 0xA7D43F179D9E85B4ULL, 0x847248784674665ULL, 0x8E9BEE9639564345ULL, 0xB844EA394EF9AABAULL,
0x1C43B3BA7BE1E6EDULL, 0x377633C09F1AA148ULL, 0xCF9F055FB3BD9089ULL, 0x237F5850E100962DULL, 0xE1C4256A0C232971ULL, 0xEC6E2B8947DBFFB6ULL,
0x343F2D8A9C9527EULL, 0x608D825E09A0AAC3ULL, 0x2AF5B4FCA05CCBA6ULL, 0x8A4C0A9742390F2CULL, 0x1A068CA009F95B7FULL, 0xA0D7376A312A059ULL,
0xEEE81A6A15F0A6DEULL, 0xF8BA3EF80FAFDFFCULL, 0x5C65C75CD283F262ULL, 0xA4EAA527A8AD5D63ULL, 0x1164FE8E82C01919ULL, 0x3539B875C868E085ULL,
0xA237A4E5594A4C1ULL, 0x7827EE81A2F4AC35ULL, 0x266CBD2B18951441ULL, 0xFDC64A4FB646C0ADULL, 0x6D53F55107D8D248ULL, 0xF493443E0E2B9527ULL,
0xB96840FE598CDA89ULL, 0x94B551BAD8F57297ULL, 0x8A4E5792DE389F72ULL, 0xB497CB2FF826E8F5ULL, 0x14992B64A827D67ULL, 0xC852F423F5A51FDDULL,
0xED46AB411D66F540ULL, 0x21FAA01499A06DCULL, 0xD31AD7D898DAD16FULL, 0xC4701F9CD1D1F3FBULL, 0xFF445D109942B963ULL, 0x3A4778D01A9783F5ULL,
0xEB671E34B72CE1D5ULL, 0xA45A111D2A2A83ABULL, 0x1AF64370ABEC1E4FULL, 0x44A6319093A8419EULL, 0xC38B43DE9F9BBA2EULL, 0xCE35E9D5F657B15DULL,
0x1AB0531079AE7E05ULL, 0x78421C62A97E730AULL, 0x381470A1496B8B3CULL, 0xEC3695C6D2E49A7FULL, 0x5200A9F8E56C8B1AULL, 0xDB87FDA1ACCE4D94ULL,
0x42854FA05C6D386CULL, 0xE0C8BBBD36091A31ULL, 0x30324E78C96B5320ULL, 0xC25A86E7F5F00DBDULL, 0x81CCA21DCEBA3B8ULL, 0xA47056D344E46ED8ULL,
0x911E73B1FAE29876ULL, 0x605C602DFCE1D0FDULL, 0x366992089418A49EULL, 0xCACACA6F38C2F347ULL, 0x253BC8A77469BDAFULL, 0x7D3870885C1AF8B8ULL,
0x349DBC7F5B95AF9ULL, 0x2FC5CE3CFCDEA80CULL, 0x7C38102C7CFAAC3CULL, 0xD695FBFB90A8419FULL, 0x241C4F2AD80F8664ULL, 0xBB7292807412A807ULL,
0xB0E9C2F15BF89F6FULL, 0x8D482340F6D47DFULL, 0x7D25BFE63CE21251ULL, 0xF8AD0AB7DA296F44ULL, 0x1CC99D1DA59C5734ULL, 0xBE43420E3108AE60ULL,

},
{
0xA3777289185DCEB7ULL, 0x981C5F0C9862244AULL, 0x7FA5B980CA032633ULL, 0x915ECAB6C4B39219ULL, 0x6D2F61ED98C1C167ULL, 0x13846D97BC998D9FULL,
0x4A63E31A6A0C0FF9ULL, 0x8FB3A74BB2CCD498ULL, 0xA222247D2F3B7966ULL, 0xEE4753B21424DAF0ULL, 0xFA4F144CDAF2D002ULL, 0x17F5F16EC0E9BD5CULL,
0xA9677601C729DEF5ULL, 0x9A4F532F11A3F3F2ULL, 0x794C20BC165B1906ULL, 0x5B339D88E01CD7FDULL, 0x79BF8233EBFA86B6ULL, 0xABC81954BB621659ULL,
0xF5AB4ED006D08B01ULL, 0x16CE39E7B7817627ULL, 0xCC38D9927D63B1F8ULL, 0x973D1449678F93A0ULL, 0xE985B9FAD83D79E6ULL, 0x19E39C656A50085DULL,
0x4B155B909D162BE9ULL, 0xD34E272B7DDDA67ULL, 0x810E8B7705470BD7ULL, 0xC4B445EEAB8DC875ULL, 0x4871BADF40AFD3CAULL, 0x39B135982C0AD34BULL,
0x54CF65F524A4BA67ULL, 0x740847CD99546433ULL, 0xBCC53D4FCC7DE804ULL, 0x8287DDD11D324FE8ULL, 0x61EC7332C221334AULL, 0xE7CDBF821B7C58C8ULL,
0xF71B21C20048D06EULL, 0xA0D6211FA2DBBE78ULL, 0x21CCCB62AB81EC2CULL, 0x9E49067EE7D7781AULL, 0x620D9B002558EAE9ULL, 0xFDBEDF9FCE761C29ULL,
0x496D83457D215FCDULL, 0xB4C8F630366A193DULL, 0x890340EF934C377EULL, 0x317647469FD58980ULL, 0xB07ED192D9785DC7ULL, 0xCEA9E6EE43B727FULL,
0x2F3712FCF990316EULL, 0xBB0438071011F86ULL, 0xE292147696F589A9ULL, 0xD6FCC3C072F03D94ULL, 0x1E3F6C188E49941CULL, 0x6910F2AB33660F98ULL,
0x1EC74D09306EA97EULL, 0x9274A7CB8B2AEC16ULL, 0xF30B3B58DB049906ULL, 0x41A27539A40F04ADULL, 0xFD67D228BB53616DULL, 0x598D0517814EA4D7ULL,
0x3561B8FF42DA3FB4ULL, 0xAA73A61AA972A97BULL, 0xF92D1E6D18CE89CCULL, 0x9F69416545DD200DULL, 0x104404F294B9AC03ULL, 0x5F9E5216F0200348ULL,
0x2A8F75F75CE0C9E5ULL, 0x3B350A562DF7EA36ULL, 0xD5D8B86248711F9ULL, 0xE6D9809509F7B99EULL, 0xCB152A3D9A1D92C4ULL, 0x5F7DDDF1312D9D09ULL,
0xD50189842099EEFDULL, 0xC0FB4D20792E913CULL, 0x9F326B920AA10DCDULL, 0x64E34A7C5A96F846ULL, 0x5BF9A3F5B4D1531AULL, 0x16BF08F26D9C9D8CULL,
0x577824ED236BA3B2ULL, 0x8C75AD108E5EAE01ULL, 0x75E6703DDD0EAE48ULL, 0xA53C5DF91840631EULL, 0x83761A1D987790C0ULL, 0xD07E40DB3BCEF3D9ULL,
0x18E0FFB51B7A060DULL, 0x76B5EE958D79353AULL, 0x96FE477263B08578ULL, 0x2FEA82420D8BB2D2ULL, 0x9C8021F356F37AABULL, 0xD4C11DBBA21C446ULL,
0x9362D754F846E21CULL, 0xD7A3E71B1281F2F9ULL, 0x7FEE0A83CD52CEDFULL, 0x7063EF45F502DCF6ULL, 0x26289AEE0E381325ULL, 0x73D5265A5F85BAFULL,
0xC1B51C77CA1CBA62ULL, 0xCBCD9E593C2117E4ULL, 0x4B26758EECA55EB4ULL, 0x1D7E3072B3687DCEULL, 0x6006015A80C60B4AULL, 0xD43261733705B6C3ULL,
0xD77EAB8150466071ULL, 0xAA4D11378BDC0229ULL, 0xF5CBBBDB201C09EDULL, 0xF1702C90BA8A1508ULL, 0x1CD9DFB7D0688061ULL, 0xA5F62A8386A632A0ULL,
0x7B15F9726DFADA77ULL, 0x11078018236E1FB2ULL, 0xE5D455CE27992BCBULL, 0x7F4A795932F640C8ULL, 0xC5742431D1EC81A0ULL, 0xF73E6324A511807ULL,
0x43306997A2D4BA81ULL, 0xA6AC7B7870093E19ULL, 0x2233DDA64FFEF5FCULL, 0xA377BBC8054D2AD8ULL, 0x628BA1619DAA1141ULL, 0xC404CACFC30CF9C6ULL,
0xA7257B716F3FC2C9ULL, 0x61A94477995C3213ULL, 0x4CCE0494887FE62CULL, 0x571362C057D20078ULL, 0xEB3EC4F2F4D9DA76ULL, 0x74CDE6F80B19B3EBULL,
0x71477AF89FE8A7A0ULL, 0x7445859DCC71EADBULL, 0xF1FE007797A15BDEULL, 0x38182DFEF9181E5EULL, 0xE1E526567367F459ULL, 0x5168E421835DC7DULL,
0x577DE74423676FD1ULL, 0xC41A5FE958C47652ULL, 0x57C1FBBCF7C9CE43ULL, 0x9E6A18BDA3302F2FULL, 0x73F931F91CA51556ULL, 0x29A043B6F6EDEAEULL,
0x995D62252F7B5FD4ULL, 0x9A00621EF4112612ULL, 0xA64038D2CAA5613CULL, 0x57BC8A16A4D72F33ULL, 0x7E48DC2E4EAEA509ULL, 0xB3A775168063F523ULL,

},
};


unsigned __int64 hash_enp[144] =
{
0x6D5C8E71D8564C0EULL, 0x2B2F4921F1C754FCULL, 0xC06F0E9E226869A2ULL, 0x5E4C3DB911FF8966ULL, 0xF11AF890AAC4DEB6ULL, 0x4656B646CCE57A1ULL,
0xD43D021B76158551ULL, 0xA06844350B369C5BULL, 0x89EB4AA63B794AC2ULL, 0xA687AB1ADE0B93BEULL, 0xBA046494EC839792ULL, 0x1830671D5F144140ULL,
0xE0A8AF769D633A9BULL, 0x3AD3CC454633B9DULL, 0x4B576AA7EB73AC1CULL, 0x2E0EE6C139EA8C27ULL, 0xED219F0B230F413DULL, 0x117445EE53315F7AULL,
0x94C28684C3037EAAULL, 0xA31C57B27AD16D35ULL, 0xA6B9952C0871719CULL, 0xDD57DE5C19DDD2FDULL, 0xE52E7AE5F73FC3BULL, 0xD11D6BA6876AAAF5ULL,
0x8767767BB8008976ULL, 0xB1C0F55EAEA945AFULL, 0x36602ADF98537472ULL, 0x8B1465130DB9DA6DULL, 0xB3D85E47CD68BF90ULL, 0xF4D8E53C4195688BULL,
0x71CD83FC19E09811ULL, 0x15DCA1C7D3EACE4BULL, 0xEADD8105380086AULL, 0xA123AAD221FD1059ULL, 0xCBD2642B62F72AD6ULL, 0xB0F1EA574F3C29D4ULL,
0x58661899BA206103ULL, 0xF26293AEE622563CULL, 0x852B315FA3502268ULL, 0xF42D17342DCA9696ULL, 0x12D729EE07657833ULL, 0x35000BA0B19BB226ULL,
0xC66839125457E774ULL, 0xEA08368C5525E408ULL, 0xC8553D3EFB08EAE0ULL, 0x4BA821045B05B77CULL, 0x26DF5C72DB06924BULL, 0xD910A9FCDA2D0030ULL,
0xC8EC3B0806E25DE2ULL, 0x45553696E3BB5076ULL, 0x3A51CD7A36E97B18ULL, 0x522E93DFD53AE31CULL, 0xD45E298E9F3DCB82ULL, 0xD27A884829514DDDULL,
0x9218457999A96BDBULL, 0x92636D5193E44E17ULL, 0x49387E4AB38BC93BULL, 0xB2FA6AB1E5E0CEF5ULL, 0xCBD78F880C98C62FULL, 0x710BFAFCD3873030ULL,
0x723B2FA9996D6DEDULL, 0x7735A6DD773CEC1BULL, 0x476F1CAABD2CD4CBULL, 0xACE56582C8FFB708ULL, 0xE7568EF29A4B3B28ULL, 0xE895272EF8FB7097ULL,
0xBF484C9735B34E53ULL, 0x42B0E1D8993E786CULL, 0xB08C1B05099E77AEULL, 0x21BFA798669E3103ULL, 0x1F9DC0351EBD1429ULL, 0x30DF02603B2F77AFULL,
0x254EB2E24A830D1AULL, 0x95C56B07D2807DB4ULL, 0x12C7D4FA5D662E0AULL, 0xD283F8A9376ED66BULL, 0xB9102B42A2F429E8ULL, 0xED0508485030CBD8ULL,
0x7E1D9020692000A3ULL, 0xA7A667C9BC687AE9ULL, 0xE3DF21CFD9FA4FABULL, 0x89DCCFF7133B832DULL, 0x483E990D0451A3CEULL, 0xF9D85A1CACA3647BULL,
0x9532EB1EF60015DULL, 0x5384C3A95E550AE0ULL, 0xF9176BBEE974F534ULL, 0x5D72C7249D4A272EULL, 0x4F246DF575D4A41FULL, 0x1EF41D2C8BA431EDULL,
0xEA6F9F1C2D3A9617ULL, 0x22AEB300F5C851CEULL, 0x5505AD86DE8DB308ULL, 0xE5C13E1A15669BE2ULL, 0x7FE8FB73C2B92839ULL, 0x9D8387BFEF6A7C90ULL,
0x954833DD1947FFC8ULL, 0xB2C0C4FA9958BB89ULL, 0x782530266C2A854ULL, 0x872351CDFFB25218ULL, 0x835ED1793B52EFAULL, 0xD3BF99674DC16C9AULL,
0x5709560F2F74C5A8ULL, 0xD8C20CB22C741386ULL, 0x3EFE6A5F3A17B23CULL, 0x94DC9C41BEA652AEULL, 0xF00B97984EBB6811ULL, 0xC3BC9A1CFAA7E8DULL,
0xDD17AC6C6CE752FULL, 0x5473921B2067F8FULL, 0xAE75602ADB31FAC7ULL, 0x993FB806C2BD4067ULL, 0x1D31128F280D4C6FULL, 0xCBD6BC25E7AD2B46ULL,
0x9E2B74DB0C9EED1FULL, 0x11F98377AA1651ABULL, 0x11BC44434BD722E8ULL, 0x22D1614DB119E711ULL, 0xC9F4C812903379CBULL, 0x17A76CF917DE93C6ULL,
0x3CE4F812D348838FULL, 0x3E5FB5A9436C0BBCULL, 0x1AD5A0EA3A1D4EEEULL, 0xDBBD01A84CE92770ULL, 0xB2BD385F4E875736ULL, 0xBBD6864E1081290BULL,
0xA6892CD768A47875ULL, 0x842A4ED65F193154ULL, 0x538E2C28F012CC3AULL, 0xA96A2A29937AB976ULL, 0x1E18C5833CB5EEF5ULL, 0x25D75CAE7D83A86BULL,
0x50F4C0B42A755C8ULL, 0xF6DBD2BA2B84D545ULL, 0xF86A5BCA389305CAULL, 0x1FB55278DBB1492BULL, 0x77A82EEAD68CE11CULL, 0xA81D192D1D60517FULL,
0x4A4999F673ACD677ULL, 0xC129503D79B8C5C1ULL, 0x8EE0D305CF26F9E1ULL, 0x6D83D0D33AD00613ULL, 0x4466D46B4D6D0972ULL, 0xC0F4D8EC61BC45D0ULL,
};


unsigned __int64 hash_s[2] =
{
0xED219F0B230F413DULL, 0x117445EE53315F7AULL,
};
unsigned __int64 hash_ca[16] =
{
0x6D5C8E71D8564C0EULL, 0x2B2F4921F1C754FCULL, 0xC06F0E9E226869A2ULL, 0x5E4C3DB911FF8966ULL,
0xF11AF890AAC4DEB6ULL, 0x4656B646CCE57A1ULL, 0xD43D021B76158551ULL, 0xA06844350B369C5BULL,
0x89EB4AA63B794AC2ULL, 0xA687AB1ADE0B93BEULL, 0xBA046494EC839792ULL, 0x1830671D5F144140ULL,
0xE0A8AF769D633A9BULL, 0x3AD3CC454633B9DULL, 0x4B576AA7EB73AC1CULL, 0x2E0EE6C139EA8C27ULL,
};



